package com.skiving.cloud.admin.service;

import com.mybatisflex.core.paginate.Page;
import com.skiving.cloud.common.utils.PageParameter;
import com.mybatisflex.core.service.IService;
import com.skiving.cloud.admin.entity.SysRole;

import java.util.List;

/**
 * 角色 服务层。
 *
 * @author skivingcloud
 * @since 2025-03-08
 */
public interface SysRoleService extends IService<SysRole> {
    /**
     * 分页查询角色
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    Page<SysRole> queryByPage(PageParameter<SysRole> parameter);

    /**
     * 根据租户id获取所有角色
     * @param tenantId 租户id
     * @return 角色
     */
    List<SysRole> listByTenantId(String tenantId);

    /**
     * 设置角色资源权限
     * @param id 角色ID
     * @param resId 资源权限ID
     */
    void saveRoleRes(String id, String[] resId);
}
